<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>vphy: xvphy.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.gif"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">vphy
   </div>
   <div id="projectbrief">Xilinx SDK Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xvphy_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xvphy.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>Contains a minimal set of functions for the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> driver that allow access to all of the Video PHY core's functionality. </p>
<p>See <a class="el" href="xvphy_8h.html" title="The Xilinx Video PHY (VPHY) driver. ">xvphy.h</a> for a detailed description of the driver.</p>
<dl class="section note"><dt>Note</dt><dd>None.</dd></dl>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
<hr/>

1.0   als, 10/19/15 Initial release.
      gm
1.1   gm   02/01/16 Added GTPE2 and GTHE4 support
                    Added more events to XVphy_LogEvent definitions.
                    Added TxBufferBypass in <a class="el" href="struct_x_vphy___config.html" title="This typedef contains configuration information for the Video PHY core. ">XVphy_Config</a> structure.
                    Added XVphy_SetDefaultPpc and XVphy_SetPpc functions.
      als           Added XVphy_GetLineRateHz function.
      gm   20/04/16 Added XVphy_GetRcfgChId function
1.2   gm            Added HdmiFastSwitch in <a class="el" href="struct_x_vphy___config.html" title="This typedef contains configuration information for the Video PHY core. ">XVphy_Config</a>
                    Fixed bug in XVphy_IsPllLocked function
                    Changed EffectiveAddr datatype in XVphy_CfgInitialize
                      to UINTPTR
                    Used usleep API instead of MB_Sleep API
                    Fixed Null pointer dereference in XVphy_IBufDsEnable
                    Suppressed warning messages due to unused arguments
1.4   gm   29/11/16 Moved internally used APIs to <a class="el" href="xvphy__i_8c.html" title="Contains generic APIs that are locally called or used within the VPHY driver. ">xvphy_i.c</a>/h
                    Added preprocessor directives for sw footprint reduction
                    Fixed c++ compiler warnings
</pre><p>See <a class="el" href="xvphy_8h.html" title="The Xilinx Video PHY (VPHY) driver. ">xvphy.h</a> for a detailed description of the driver.</p>
<dl class="section note"><dt>Note</dt><dd>None.</dd></dl>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date     Changes
<hr/>

1.0   als  10/19/15 Initial release.
1.1   gm   02/01/16 Additional events for event log printout
1.2   gm            Added log events for debugging
1.4   gm   11/24/16 Made debug log optional (can be disabled via makefile)
                    Added XVPHY_LOG_EVT_TX_ALIGN_TMOUT log event
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ab71ec5984965000a5c84b07805d4bf58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#ab71ec5984965000a5c84b07805d4bf58">XVphy_CfgInitialize</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, <a class="el" href="struct_x_vphy___config.html">XVphy_Config</a> *ConfigPtr, UINTPTR EffectiveAddr)</td></tr>
<tr class="memdesc:ab71ec5984965000a5c84b07805d4bf58"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function retrieves the configuration for this Video PHY instance and fills in the InstancePtr-&gt;Config structure.  <a href="#ab71ec5984965000a5c84b07805d4bf58">More...</a><br /></td></tr>
<tr class="separator:ab71ec5984965000a5c84b07805d4bf58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01775c74632e81c26fb4b2dd8fa3e3ac"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a01775c74632e81c26fb4b2dd8fa3e3ac">XVphy_PllInitialize</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId, <a class="el" href="xvphy_8h.html#abaf929d37e9f193c5577e3a08b50c950">XVphy_PllRefClkSelType</a> QpllRefClkSel, <a class="el" href="xvphy_8h.html#abaf929d37e9f193c5577e3a08b50c950">XVphy_PllRefClkSelType</a> CpllRefClkSel, <a class="el" href="xvphy_8h.html#abd3d50bbadd64dbfb763e97759a02624">XVphy_PllType</a> TxPllSelect, <a class="el" href="xvphy_8h.html#abd3d50bbadd64dbfb763e97759a02624">XVphy_PllType</a> RxPllSelect)</td></tr>
<tr class="memdesc:a01775c74632e81c26fb4b2dd8fa3e3ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will initialize the PLL selection for a given channel.  <a href="#a01775c74632e81c26fb4b2dd8fa3e3ac">More...</a><br /></td></tr>
<tr class="separator:a01775c74632e81c26fb4b2dd8fa3e3ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54b6787198c16e99851326d82568421d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a54b6787198c16e99851326d82568421d">XVphy_WaitUs</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u32 MicroSeconds)</td></tr>
<tr class="memdesc:a54b6787198c16e99851326d82568421d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is the delay/sleep function for the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> driver.  <a href="#a54b6787198c16e99851326d82568421d">More...</a><br /></td></tr>
<tr class="separator:a54b6787198c16e99851326d82568421d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4cef4dea102e0cbb7671d8113f9d52e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#aa4cef4dea102e0cbb7671d8113f9d52e">XVphy_GetVersion</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr)</td></tr>
<tr class="memdesc:aa4cef4dea102e0cbb7671d8113f9d52e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will obtian the IP version.  <a href="#aa4cef4dea102e0cbb7671d8113f9d52e">More...</a><br /></td></tr>
<tr class="separator:aa4cef4dea102e0cbb7671d8113f9d52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad5d2ef80f68b92db024b3e690d0c410e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#ad5d2ef80f68b92db024b3e690d0c410e">XVphy_CfgLineRate</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId, u64 LineRateHz)</td></tr>
<tr class="memdesc:ad5d2ef80f68b92db024b3e690d0c410e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure the channel's line rate.  <a href="#ad5d2ef80f68b92db024b3e690d0c410e">More...</a><br /></td></tr>
<tr class="separator:ad5d2ef80f68b92db024b3e690d0c410e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc589d8dad782b38e7da73526c30207b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="xvphy_8h.html#abd3d50bbadd64dbfb763e97759a02624">XVphy_PllType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#acc589d8dad782b38e7da73526c30207b">XVphy_GetPllType</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, XVphy_DirectionType Dir, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId)</td></tr>
<tr class="memdesc:acc589d8dad782b38e7da73526c30207b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Obtain the channel's PLL reference clock selection.  <a href="#acc589d8dad782b38e7da73526c30207b">More...</a><br /></td></tr>
<tr class="separator:acc589d8dad782b38e7da73526c30207b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83265bb40529b7550588a1ee0216fe1f"><td class="memItemLeft" align="right" valign="top">u64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a83265bb40529b7550588a1ee0216fe1f">XVphy_GetLineRateHz</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId)</td></tr>
<tr class="memdesc:a83265bb40529b7550588a1ee0216fe1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will return the line rate in Hz for a given channel / quad.  <a href="#a83265bb40529b7550588a1ee0216fe1f">More...</a><br /></td></tr>
<tr class="separator:a83265bb40529b7550588a1ee0216fe1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1c3340164a0759e485ba914ef282dc3"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#ad1c3340164a0759e485ba914ef282dc3">XVphy_ResetGtPll</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId, XVphy_DirectionType Dir, u8 Hold)</td></tr>
<tr class="memdesc:ad1c3340164a0759e485ba914ef282dc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will reset the GT's PLL logic.  <a href="#ad1c3340164a0759e485ba914ef282dc3">More...</a><br /></td></tr>
<tr class="separator:ad1c3340164a0759e485ba914ef282dc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d258176c8a2cc605cdaf8f28a72559d"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a3d258176c8a2cc605cdaf8f28a72559d">XVphy_ResetGtTxRx</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId, XVphy_DirectionType Dir, u8 Hold)</td></tr>
<tr class="memdesc:a3d258176c8a2cc605cdaf8f28a72559d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will reset the GT's TX/RX logic.  <a href="#a3d258176c8a2cc605cdaf8f28a72559d">More...</a><br /></td></tr>
<tr class="separator:a3d258176c8a2cc605cdaf8f28a72559d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a139392a254c9872829ff70e712ba807b"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a139392a254c9872829ff70e712ba807b">XVphy_DrpWrite</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId, u16 Addr, u16 Val)</td></tr>
<tr class="memdesc:a139392a254c9872829ff70e712ba807b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will initiate a write DRP transaction.  <a href="#a139392a254c9872829ff70e712ba807b">More...</a><br /></td></tr>
<tr class="separator:a139392a254c9872829ff70e712ba807b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2ae1cb78ebf784d843ec371e68f2d96"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#af2ae1cb78ebf784d843ec371e68f2d96">XVphy_DrpRead</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId, u16 Addr)</td></tr>
<tr class="memdesc:af2ae1cb78ebf784d843ec371e68f2d96"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will initiate a read DRP transaction.  <a href="#af2ae1cb78ebf784d843ec371e68f2d96">More...</a><br /></td></tr>
<tr class="separator:af2ae1cb78ebf784d843ec371e68f2d96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59516866f229178eca67ede70680a751"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a59516866f229178eca67ede70680a751">XVphy_MmcmPowerDown</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, XVphy_DirectionType Dir, u8 Hold)</td></tr>
<tr class="memdesc:a59516866f229178eca67ede70680a751"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will power down the mixed-mode clock manager (MMCM) core.  <a href="#a59516866f229178eca67ede70680a751">More...</a><br /></td></tr>
<tr class="separator:a59516866f229178eca67ede70680a751"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a652a8b7de475a3a54ad9a5f6e40ee9d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a652a8b7de475a3a54ad9a5f6e40ee9d9">XVphy_MmcmStart</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, XVphy_DirectionType Dir)</td></tr>
<tr class="memdesc:a652a8b7de475a3a54ad9a5f6e40ee9d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function will start the mixed-mode clock manager (MMCM) core.  <a href="#a652a8b7de475a3a54ad9a5f6e40ee9d9">More...</a><br /></td></tr>
<tr class="separator:a652a8b7de475a3a54ad9a5f6e40ee9d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5754f49fa0df65d75a6d62f4885b94c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#ac5754f49fa0df65d75a6d62f4885b94c">XVphy_IBufDsEnable</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, XVphy_DirectionType Dir, u8 Enable)</td></tr>
<tr class="memdesc:ac5754f49fa0df65d75a6d62f4885b94c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the TX or RX IBUFDS peripheral.  <a href="#ac5754f49fa0df65d75a6d62f4885b94c">More...</a><br /></td></tr>
<tr class="separator:ac5754f49fa0df65d75a6d62f4885b94c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5c0be51d9acd79559d092d16e7d1fe8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#ab5c0be51d9acd79559d092d16e7d1fe8">XVphy_Clkout1OBufTdsEnable</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, XVphy_DirectionType Dir, u8 Enable)</td></tr>
<tr class="memdesc:ab5c0be51d9acd79559d092d16e7d1fe8"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function enables the TX or RX CLKOUT1 OBUFTDS peripheral.  <a href="#ab5c0be51d9acd79559d092d16e7d1fe8">More...</a><br /></td></tr>
<tr class="separator:ab5c0be51d9acd79559d092d16e7d1fe8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ac1ec33cd234c67df30471d148e77be"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xvphy_8c.html#a7ac1ec33cd234c67df30471d148e77be">XVphy_IsBonded</a> (<a class="el" href="struct_x_vphy.html">XVphy</a> *InstancePtr, u8 QuadId, <a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a> ChId)</td></tr>
<tr class="memdesc:a7ac1ec33cd234c67df30471d148e77be"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function returns true when the RX and TX are bonded and are running from the same (RX) reference clock.  <a href="#a7ac1ec33cd234c67df30471d148e77be">More...</a><br /></td></tr>
<tr class="separator:a7ac1ec33cd234c67df30471d148e77be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ab71ec5984965000a5c84b07805d4bf58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab71ec5984965000a5c84b07805d4bf58">&#9670;&nbsp;</a></span>XVphy_CfgInitialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XVphy_CfgInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="struct_x_vphy___config.html">XVphy_Config</a> *&#160;</td>
          <td class="paramname"><em>ConfigPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UINTPTR&#160;</td>
          <td class="paramname"><em>EffectiveAddr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function retrieves the configuration for this Video PHY instance and fills in the InstancePtr-&gt;Config structure. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> instance. </td></tr>
    <tr><td class="paramname">ConfigPtr</td><td>is a pointer to the configuration structure that will be used to copy the settings from. </td></tr>
    <tr><td class="paramname">EffectiveAddr</td><td>is the device base address in the virtual memory space. If the address translation is not used, then the physical address is passed.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>Unexpected errors may occur if the address mapping is changed after this function is invoked. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_vphy___config.html#a37ebb950e78d0d9bedc29b27ad6619d3">XVphy_Config::BaseAddr</a>, <a class="el" href="struct_x_vphy.html#a45ad21128fb62d2f120e92ae3488c32c">XVphy::Config</a>, and <a class="el" href="struct_x_vphy.html#a350b0f93bf83f2b3178e46e11936aa7f">XVphy::IsReady</a>.</p>

</div>
</div>
<a id="ad5d2ef80f68b92db024b3e690d0c410e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad5d2ef80f68b92db024b3e690d0c410e">&#9670;&nbsp;</a></span>XVphy_CfgLineRate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_CfgLineRate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>LineRateHz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configure the channel's line rate. </p>
<p>This is a software only configuration and this value is used in the PLL calculator.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID to operate on. </td></tr>
    <tr><td class="paramname">LineRate</td><td>is the line rate to configure software.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the reference clock type is valid.</li>
<li>XST_FAILURE otherwise.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_vphy.html#a2a6689916034622640568869fd0ce86b">XVphy::Quads</a>, and <a class="el" href="xvphy__i_8c.html#a2d8b041a0730b041e28a4215d771cc04">XVphy_Ch2Ids()</a>.</p>

</div>
</div>
<a id="ab5c0be51d9acd79559d092d16e7d1fe8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5c0be51d9acd79559d092d16e7d1fe8">&#9670;&nbsp;</a></span>XVphy_Clkout1OBufTdsEnable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XVphy_Clkout1OBufTdsEnable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables the TX or RX CLKOUT1 OBUFTDS peripheral. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX. </td></tr>
    <tr><td class="paramname">Enable</td><td>specifies TRUE/FALSE value to either enable or disable the OBUFTDS, respectively.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

</div>
</div>
<a id="af2ae1cb78ebf784d843ec371e68f2d96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2ae1cb78ebf784d843ec371e68f2d96">&#9670;&nbsp;</a></span>XVphy_DrpRead()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XVphy_DrpRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>Addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will initiate a read DRP transaction. </p>
<p>It is a wrapper around XVphy_DrpAccess.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID on which to direct the DRP access. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for write (TX) or read (RX). </td></tr>
    <tr><td class="paramname">Addr</td><td>is the DRP address to issue the DRP access to.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the DRP access was successful.</li>
<li>XST_FAILURE otherwise, if the busy bit did not go low, or if the ready bit did not go high.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="a139392a254c9872829ff70e712ba807b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a139392a254c9872829ff70e712ba807b">&#9670;&nbsp;</a></span>XVphy_DrpWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_DrpWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>Addr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>Val</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will initiate a write DRP transaction. </p>
<p>It is a wrapper around XVphy_DrpAccess.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID on which to direct the DRP access. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for write (TX) or read (RX). </td></tr>
    <tr><td class="paramname">Addr</td><td>is the DRP address to issue the DRP access to. </td></tr>
    <tr><td class="paramname">Val</td><td>is the value to write to the DRP address.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if the DRP access was successful.</li>
<li>XST_FAILURE otherwise, if the busy bit did not go low, or if the ready bit did not go high.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="a83265bb40529b7550588a1ee0216fe1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83265bb40529b7550588a1ee0216fe1f">&#9670;&nbsp;</a></span>XVphy_GetLineRateHz()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u64 XVphy_GetLineRateHz </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will return the line rate in Hz for a given channel / quad. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to check. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID for which to retrieve the line rate.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The line rate in Hz.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="acc589d8dad782b38e7da73526c30207b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc589d8dad782b38e7da73526c30207b">&#9670;&nbsp;</a></span>XVphy_GetPllType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="xvphy_8h.html#abd3d50bbadd64dbfb763e97759a02624">XVphy_PllType</a> XVphy_GetPllType </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Obtain the channel's PLL reference clock selection. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID which to operate on.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The PLL type being used by the channel.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="xvphy__i_8c.html#a8e1cf75cf2ecce4902aeb0faca3d0c7c">XVphy_GetSysClkDataSel()</a>, and <a class="el" href="xvphy__i_8c.html#afa18f0da25042d12e577a5e16d950476">XVphy_GetSysClkOutSel()</a>.</p>

</div>
</div>
<a id="aa4cef4dea102e0cbb7671d8113f9d52e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4cef4dea102e0cbb7671d8113f9d52e">&#9670;&nbsp;</a></span>XVphy_GetVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_GetVersion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will obtian the IP version. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The IP version of the Video PHY core.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_vphy___config.html#a37ebb950e78d0d9bedc29b27ad6619d3">XVphy_Config::BaseAddr</a>, <a class="el" href="struct_x_vphy.html#a45ad21128fb62d2f120e92ae3488c32c">XVphy::Config</a>, and <a class="el" href="xvphy__hw_8h.html#a4efa6fb68e702bd91a3fb099d7ba0188">XVphy_ReadReg</a>.</p>

</div>
</div>
<a id="ac5754f49fa0df65d75a6d62f4885b94c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5754f49fa0df65d75a6d62f4885b94c">&#9670;&nbsp;</a></span>XVphy_IBufDsEnable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XVphy_IBufDsEnable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Enable</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function enables the TX or RX IBUFDS peripheral. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX. </td></tr>
    <tr><td class="paramname">Enable</td><td>specifies TRUE/FALSE value to either enable or disable the IBUFDS, respectively.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None. </dd></dl>

</div>
</div>
<a id="a7ac1ec33cd234c67df30471d148e77be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7ac1ec33cd234c67df30471d148e77be">&#9670;&nbsp;</a></span>XVphy_IsBonded()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_IsBonded </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns true when the RX and TX are bonded and are running from the same (RX) reference clock. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if the RX and TX are using the same PLL, FALSE otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="a59516866f229178eca67ede70680a751"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59516866f229178eca67ede70680a751">&#9670;&nbsp;</a></span>XVphy_MmcmPowerDown()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XVphy_MmcmPowerDown </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Hold</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will power down the mixed-mode clock manager (MMCM) core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX. </td></tr>
    <tr><td class="paramname">Hold</td><td>is an indicator whether to "hold" the power down if set to 1. If set to 0: power down, then power back up.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">Referenced by <a class="el" href="xvphy_8h.html#a652a8b7de475a3a54ad9a5f6e40ee9d9">XVphy_MmcmStart()</a>.</p>

</div>
</div>
<a id="a652a8b7de475a3a54ad9a5f6e40ee9d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a652a8b7de475a3a54ad9a5f6e40ee9d9">&#9670;&nbsp;</a></span>XVphy_MmcmStart()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XVphy_MmcmStart </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will start the mixed-mode clock manager (MMCM) core. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="xvphy_8c.html#a59516866f229178eca67ede70680a751">XVphy_MmcmPowerDown()</a>, <a class="el" href="xvphy__i_8c.html#adc182ff22a7ec230dc163f90ec5263a3">XVphy_MmcmReset()</a>, and <a class="el" href="xvphy_8c.html#a54b6787198c16e99851326d82568421d">XVphy_WaitUs()</a>.</p>

</div>
</div>
<a id="a01775c74632e81c26fb4b2dd8fa3e3ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01775c74632e81c26fb4b2dd8fa3e3ac">&#9670;&nbsp;</a></span>XVphy_PllInitialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_PllInitialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#abaf929d37e9f193c5577e3a08b50c950">XVphy_PllRefClkSelType</a>&#160;</td>
          <td class="paramname"><em>QpllRefClkSel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#abaf929d37e9f193c5577e3a08b50c950">XVphy_PllRefClkSelType</a>&#160;</td>
          <td class="paramname"><em>CpllRefClkSel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#abd3d50bbadd64dbfb763e97759a02624">XVphy_PllType</a>&#160;</td>
          <td class="paramname"><em>TxPllSelect</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#abd3d50bbadd64dbfb763e97759a02624">XVphy_PllType</a>&#160;</td>
          <td class="paramname"><em>RxPllSelect</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will initialize the PLL selection for a given channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID to operate on. </td></tr>
    <tr><td class="paramname">QpllRefClkSel</td><td>is the QPLL reference clock selection for the quad.<ul>
<li>In GTP, this is used to hold PLL0 refclk selection. </li>
</ul>
</td></tr>
    <tr><td class="paramname">CpllRefClkSel</td><td>is the CPLL reference clock selection for the quad.<ul>
<li>In GTP, this is used to hold PLL1 refclk selection. </li>
</ul>
</td></tr>
    <tr><td class="paramname">TxPllSelect</td><td>is the reference clock selection for the quad's TX PLL dividers. </td></tr>
    <tr><td class="paramname">RxPllSelect</td><td>is the reference clock selection for the quad's RX PLL dividers.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_vphy.html#a45ad21128fb62d2f120e92ae3488c32c">XVphy::Config</a>, and <a class="el" href="struct_x_vphy___config.html#a9bdda7f6198220dbf4e388402d94b93a">XVphy_Config::XcvrType</a>.</p>

</div>
</div>
<a id="ad1c3340164a0759e485ba914ef282dc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1c3340164a0759e485ba914ef282dc3">&#9670;&nbsp;</a></span>XVphy_ResetGtPll()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_ResetGtPll </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Hold</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will reset the GT's PLL logic. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID which to operate on. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX. </td></tr>
    <tr><td class="paramname">Hold</td><td>is an indicator whether to "hold" the reset if set to 1. If set to 0: reset, then enable.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="a3d258176c8a2cc605cdaf8f28a72559d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d258176c8a2cc605cdaf8f28a72559d">&#9670;&nbsp;</a></span>XVphy_ResetGtTxRx()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XVphy_ResetGtTxRx </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>QuadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="xvphy_8h.html#a535e4dd9425d8b7818e02930ce9e2b8e">XVphy_ChannelId</a>&#160;</td>
          <td class="paramname"><em>ChId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">XVphy_DirectionType&#160;</td>
          <td class="paramname"><em>Dir</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Hold</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function will reset the GT's TX/RX logic. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> core instance. </td></tr>
    <tr><td class="paramname">QuadId</td><td>is the GT quad ID to operate on. </td></tr>
    <tr><td class="paramname">ChId</td><td>is the channel ID which to operate on. </td></tr>
    <tr><td class="paramname">Dir</td><td>is an indicator for TX or RX. </td></tr>
    <tr><td class="paramname">Hold</td><td>is an indicator whether to "hold" the reset if set to 1. If set to 0: reset, then enable.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS.</li>
</ul>
</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

</div>
</div>
<a id="a54b6787198c16e99851326d82568421d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a54b6787198c16e99851326d82568421d">&#9670;&nbsp;</a></span>XVphy_WaitUs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XVphy_WaitUs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_vphy.html">XVphy</a> *&#160;</td>
          <td class="paramname"><em>InstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>MicroSeconds</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function is the delay/sleep function for the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> driver. </p>
<p>For the Zynq family, there exists native sleep functionality. For MicroBlaze however, there does not exist such functionality. In the MicroBlaze case, the default method for delaying is to use a predetermined amount of loop iterations. This method is prone to inaccuracy and dependent on system configuration; for greater accuracy, the user may supply their own delay/sleep handler, pointed to by InstancePtr-&gt;UserTimerWaitUs, which may have better accuracy if a hardware timer is used.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">InstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_vphy.html" title="The XVphy driver instance data. ">XVphy</a> instance. </td></tr>
    <tr><td class="paramname">MicroSeconds</td><td>is the number of microseconds to delay/sleep for.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None. </dd></dl>

<p class="reference">References <a class="el" href="struct_x_vphy.html#a350b0f93bf83f2b3178e46e11936aa7f">XVphy::IsReady</a>, <a class="el" href="struct_x_vphy.html#a4eb6913f5fda8406fe6f3577c240721b">XVphy::UserTimerWaitUs</a>, <a class="el" href="xvphy__i_8c.html#a918c7447d08e6af827ab03493348b706">XVphy_ClkCalcParams()</a>, <a class="el" href="xvphy__i_8c.html#ae2450ff392b3bdafa0b65b549af231a1">XVphy_ClkReconfig()</a>, <a class="el" href="xvphy__i_8c.html#a609475eec7171bd779b972e31496c717">XVphy_DirReconfig()</a>, and <a class="el" href="xvphy__i_8c.html#acb53c60099495db88a9931980e278bc6">XVphy_OutDivReconfig()</a>.</p>

<p class="reference">Referenced by <a class="el" href="xvphy_8h.html#a652a8b7de475a3a54ad9a5f6e40ee9d9">XVphy_MmcmStart()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Copyright &copy; 2015 Xilinx Inc. All rights reserved.</li>
  </ul>
</div>
</body>
</html>
